The present invention relates to a load balancing system for carrying out load balancing or load distribution by dynamic assignment of a plurality of information processors.
In a system built up by combining a plurality of information processors, if large numbers of process requests concentrate in a particular information processor, an upsurge of the load on the information processor might cause serious extension of response time or total loss of processing power of the whole system, and consequently, the service quality of the system is necessitated to be deteriorated. Here, the term “service” means the execution of a requested process by an information processor or a system including information processors. The “service quality” means measurable performance of an information processor or a system including information processors, such as response time, throughput (the number of requests processed in unit time), and so forth.
Some countermeasures against the above problem have been taken in conventional systems including a plurality of information processors. For example, an appropriate number of information processors are clustered into an apparently single information processor and requests from a requesting information processor (requesting the system to process the requests) are assigned and distributed by a load distribution device to the information processors of the apparently single information processor, enabling the system to process larger numbers of requests and improve its service quality.
However, even in the above method, when the system receives extremely large numbers of process requests in a particular time period, an extremely heavy load is put on every information processor of the system and consequently, the service quality deteriorates. The problem can be solved if a sufficient number of information processors (capable of coping with the maximum load) can be prepared; however, if the number of requests is not that large except in the particular time period, many of the information processors prepared for the maximum load become redundant and wasteful most of the time.
There has been proposed a method for resolving the above problem, in which extra information processors (standby information processors) for executing extra processes are added to the system when the load on the system exceeds the processing power of existing information processors. On the other hand, when the processing power of the existing information processors becomes too high, redundant information processors are removed from the system.
However, in the above method, which aims to automatically add the standby information processors to the system according to the change in the number of process requests without using manpower, the standby information processors are assumed to wait in readiness with programs (for the service) and information (to be used by the program) already loaded and stored therein. In short, the method is not capable of resolving the problem of having to reserve many standby information processors (which are unnecessary at ordinary times) only to cope with the maximum load.
Especially, in data centers as business for comprehensively providing customers with information processors, power sources, installation spaces, air conditioning, administrative work, etc., each customer is provided with a fixed partition (a set of information processors) so that contracts with the customer such as SLA (Service Level Agreements) will be fulfilled, and even in cases where the load changes depending on the time of day, a large-scale partition capable of coping with the maximum load has to be prepared for each customer. Such a situation is disadvantageous to the data center (having to manage large numbers of information processors) from the viewpoint of management cost, and is also disadvantageous to each user or customer in that an expensive fee has to be paid even if the information processors are used for only a short time.